home *** CD-ROM | disk | FTP | other *** search
/ TeX 1995 July / TeX CD-ROM July 1995 (Disc 1)(Walnut Creek)(1995).ISO / macros / latex209 / contrib / trees / pstrees / ansi.c < prev    next >
C/C++ Source or Header  |  1994-01-28  |  855b  |  64 lines

  1. #include <strings.h>
  2.  
  3. /* this `type less' definition of max is doubtless dangerous,
  4.    but it *seems* to work */
  5.    
  6.  
  7. extern void *malloc();
  8.  
  9. max(a, b)
  10. {
  11.   if  (a > b) return(a);
  12.   else return(b);
  13. }
  14.  
  15. void reverse(s)
  16. char s[];
  17. {
  18.   int c, i, j;
  19.  
  20. for (i=0, j = strlen(s)-1; i<j; i++,j--) {
  21.   c = s[i];
  22.   s[i] = s[j];
  23.   s[j] = c;
  24.   }
  25. }
  26.  
  27.  
  28. void itoa(n,s)
  29. char s[];
  30. int n;
  31. {
  32.   int i, sign;
  33.  
  34.   if ((sign = n) < 0)       /* record sign */
  35.     n = -n;                 /* make n positive */
  36.   i = 0;
  37.   do {                        /* generate digits in reverse order */
  38.     s[i++] = n % 10 + ' 0';   /* get next digit */
  39.   } while ((n /= 10) > 0);    /* delete it */
  40.   if (sign < 0)
  41.   s[i++] = '-';
  42.   s[i] = '\0';
  43.   reverse(s);
  44. }
  45.  
  46. /*
  47. #include <stdio.h>
  48.  
  49. main()
  50. {
  51.  char s[5];
  52.  
  53.  strcpy(s,"dog");
  54.  
  55.  printf("%s\n",s);
  56.  
  57.  reverse(s);
  58.  
  59.  itoa(4,s);
  60.  
  61.  printf("%s\n",s);
  62. }
  63. */
  64.